//app.js
App({
  onLaunch: function () {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    //检查是否登录
    this.checkLogin(res=>{

      if(!res.is_login)
      {
        this.login();
      }
    })


    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo
              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
},

    login: function()
  {
    let _this = this;
    wx.login({
      success: (res) => {
        wx.request({
          url: 'http://localhost:8080/login/wxLogin',
          header : {
            'content_type' : 'application/json;charset=UTF-8'
          },
          method : 'POST',
          data: 
          {
            code : res.code
          },
          success: (res)=>
          {
            console.log(res.data.data.session_key)
            _this.globalData.token = res.data.data.openId
            _this.globalData.session_key = res.data.data.session_key
         
            wx.setStorage({
              key: 'openId',
              data: res.data.data.openId
            })
            wx.setStorage({
              key: 'session_key',
              data: res.data.data.session_key
            })
          },
          fail: (error)=>{
            console.error("请求失败：",error)
            wx.showToast({
              title: '请求失败',
              icon : 'none',
              duration : 2000
            })
          }
        })
      },
    })
  },

  checkLogin: function(callBack)
  {
    let _this = this;
    var token = this.globalData.token;
    if(!token)
    {
      token = wx.getStorageSync('token')
      if(token)
      {
        _this.globalData.token = token;
      }
      else{
        callBack({
          is_login : false
        })
      }
    }
    console.log('token:',token)
    wx.request({
      url: 'http://localhost:8080/login/checkLogin',
      data: {
        token : token
      },
      method: 'GET',
      success: (res)=>{
        console.log('res :',res);
        callBack({
          is_login : res.data.code ==0? true:false
        })
      }
    })
  
  },

    globalData: {
      baseUrl: "http://localhost:8080",
      openId : null,
    session_key: null,
      userInfo: null
    }
  })